package legend.helper.intf;

import static legend.util.StringUtil.gl;
import static legend.util.StringUtil.gs;

import legend.intf.ICommon;

public interface IILHelper extends ICommon{
    String CMD = "il";
    String CMD_INST = "-i";
    String CMD_STAT = "-s";
    String IL_FILE_CONFIG = "./il.xml";
    String DESC_CMD_INST = "IL指令帮助信息：" + gl(2);
    String DESC_CMD_STAT = "IL语句帮助信息：" + gl(2);
    String HELP_IL = APP_INFO + "参数说明：" + gl(2)
    + CMD + " [" + CMD_INST + "|" + CMD_STAT + "] [name]" + gl(2)
    + CMD_INST + "\t只显示IL指令的帮助信息。" + gl(2)
    + CMD_STAT + "\t只显示IL语句的帮助信息。" + gl(2)
    + "name\tIL指令或语句的名称。" + gl(2)
    + "单条命令：" + gl(2)
    + CMD + gl(2)
    + CMD + gs(1) + CMD_INST + gl(2)
    + CMD + gs(1) + CMD_STAT + gl(2)
    + CMD + gs(1) + CMD_INST + " name" + gl(2)
    + CMD + gs(1) + CMD_STAT + " name" + gl(2)
    + "示例：" + gl(2)
    + CMD + gl(1) + "显示所有IL指令和IL语句的帮助信息。" + gl(2)
    + CMD + gs(1) + CMD_INST + gl(1) + "显示所有IL指令的帮助信息。" + gl(2)
    + CMD + gs(1) + CMD_STAT + gl(1) + "显示所有IL语句的帮助信息。" + gl(2)
    + CMD + gs(1) + CMD_INST + " ldc.i4" + gl(1) + "显示IL指令名称为ldc.i4的帮助信息。" + gl(2)
    + CMD + gs(1) + CMD_STAT + " instance" + gl(1) + "显示IL语句名称为instance的帮助信息。" + gl(2);
    String INST_ADD = "add";
    String INST_ADD_OVF = "add.ovf";
    String INST_ADD_OVF_UN = "add.ovf.un";
    String INST_AND = "and";
    String INST_ARGLIST = "arglist";
    String INST_BEQ = "beq";
    String INST_BEQ_S = "beq.s";
    String INST_BGE = "bge";
    String INST_BGE_S = "bge.s";
    String INST_BGE_UN = "bge.un";
    String INST_BGE_UN_S = "bge.un.s";
    String INST_BGT = "bgt";
    String INST_BGT_S = "bgt.s";
    String INST_BGT_UN = "bgt.un";
    String INST_BGT_UN_S = "bgt.un.s";
    String INST_BLE = "ble";
    String INST_BLE_S = "ble.s";
    String INST_BLE_UN = "ble.un";
    String INST_BLE_UN_S = "ble.un.s";
    String INST_BLT = "blt";
    String INST_BLT_S = "blt.s";
    String INST_BLT_UN = "blt.un";
    String INST_BLT_UN_S = "blt.un.s";
    String INST_BNE_UN = "bne.un";
    String INST_BNE_UN_S = "bne.un.s";
    String INST_BOX = "box";
    String INST_BR = "br";
    String INST_BR_S = "br.s";
    String INST_BREAK = "break";
    String INST_BRFALSE = "brfalse";
    String INST_BRFALSE_S = "brfalse.s";
    String INST_BRTRUE = "brtrue";
    String INST_BRTRUE_S = "brtrue.s";
    String INST_CALL = "call";
    String INST_CALLI = "calli";
    String INST_CALLVIRT = "callvirt";
    String INST_CASTCLASS = "castclass";
    String INST_CEQ = "ceq";
    String INST_CGT = "cgt";
    String INST_CGT_UN = "cgt.un";
    String INST_CKFINITE = "ckfinite";
    String INST_CLT = "clt";
    String INST_CLT_UN = "clt.un";
    String INST_CONSTRAINED = "constrained";
    String INST_CONV_I = "conv.i";
    String INST_CONV_I1 = "conv.i1";
    String INST_CONV_I2 = "conv.i2";
    String INST_CONV_I4 = "conv.i4";
    String INST_CONV_I8 = "conv.i8";
    String INST_CONV_OVF_I = "conv.ovf.i";
    String INST_CONV_OVF_I_UN = "conv.ovf.i.un";
    String INST_CONV_OVF_I1 = "conv.ovf.i1";
    String INST_CONV_OVF_I1_UN = "conv.ovf.i1.un";
    String INST_CONV_OVF_I2 = "conv.ovf.i2";
    String INST_CONV_OVF_I2_UN = "conv.ovf.i2.un";
    String INST_CONV_OVF_I4 = "conv.ovf.i4";
    String INST_CONV_OVF_I4_UN = "conv.ovf.i4.un";
    String INST_CONV_OVF_I8 = "conv.ovf.i8";
    String INST_CONV_OVF_I8_UN = "conv.ovf.i8.un";
    String INST_CONV_OVF_U = "conv.ovf.u";
    String INST_CONV_OVF_U_UN = "conv.ovf.u.un";
    String INST_CONV_OVF_U1 = "conv.ovf.u1";
    String INST_CONV_OVF_U1_UN = "conv.ovf.u1.un";
    String INST_CONV_OVF_U2 = "conv.ovf.u2";
    String INST_CONV_OVF_U2_UN = "conv.ovf.u2.un";
    String INST_CONV_OVF_U4 = "conv.ovf.u4";
    String INST_CONV_OVF_U4_UN = "conv.ovf.u4.un";
    String INST_CONV_OVF_U8 = "conv.ovf.u8";
    String INST_CONV_OVF_U8_UN = "conv.ovf.u8.un";
    String INST_CONV_R_UN = "conv.r.un";
    String INST_CONV_R4 = "conv.r4";
    String INST_CONV_R8 = "conv.r8";
    String INST_CONV_U = "conv.u";
    String INST_CONV_U1 = "conv.u1";
    String INST_CONV_U2 = "conv.u2";
    String INST_CONV_U4 = "conv.u4";
    String INST_CONV_U8 = "conv.u8";
    String INST_CPBLK = "cpblk";
    String INST_CPOBJ = "cpobj";
    String INST_DIV = "div";
    String INST_DIV_UN = "div.un";
    String INST_DUP = "dup";
    String INST_ENDFILTER = "endfilter";
    String INST_ENDFINALLY = "endfinally";
    String INST_INITBLK = "initblk";
    String INST_INITOBJ = "initobj";
    String INST_ISINST = "isinst";
    String INST_JMP = "jmp";
    String INST_LDARG = "ldarg";
    String INST_LDARG_0 = "ldarg.0";
    String INST_LDARG_1 = "ldarg.1";
    String INST_LDARG_2 = "ldarg.2";
    String INST_LDARG_3 = "ldarg.3";
    String INST_LDARG_S = "ldarg.s";
    String INST_LDARGA = "ldarga";
    String INST_LDARGA_S = "ldarga.s";
    String INST_LDC_I4 = "ldc.i4";
    String INST_LDC_I4_0 = "ldc.i4.0";
    String INST_LDC_I4_1 = "ldc.i4.1";
    String INST_LDC_I4_2 = "ldc.i4.2";
    String INST_LDC_I4_3 = "ldc.i4.3";
    String INST_LDC_I4_4 = "ldc.i4.4";
    String INST_LDC_I4_5 = "ldc.i4.5";
    String INST_LDC_I4_6 = "ldc.i4.6";
    String INST_LDC_I4_7 = "ldc.i4.7";
    String INST_LDC_I4_8 = "ldc.i4.8";
    String INST_LDC_I4_M1 = "ldc.i4.m1";
    String INST_LDC_I4_S = "ldc.i4.s";
    String INST_LDC_I8 = "ldc.i8";
    String INST_LDC_R4 = "ldc.r4";
    String INST_LDC_R8 = "ldc.r8";
    String INST_LDELEM = "ldelem";
    String INST_LDELEM_I = "ldelem.i";
    String INST_LDELEM_I1 = "ldelem.i1";
    String INST_LDELEM_I2 = "ldelem.i2";
    String INST_LDELEM_I4 = "ldelem.i4";
    String INST_LDELEM_I8 = "ldelem.i8";
    String INST_LDELEM_R4 = "ldelem.r4";
    String INST_LDELEM_R8 = "ldelem.r8";
    String INST_LDELEM_REF = "ldelem.ref";
    String INST_LDELEM_U1 = "ldelem.u1";
    String INST_LDELEM_U2 = "ldelem.u2";
    String INST_LDELEM_U4 = "ldelem.u4";
    String INST_LDELEMA = "ldelema";
    String INST_LDFLD = "ldfld";
    String INST_LDFLDA = "ldflda";
    String INST_LDFTN = "ldftn";
    String INST_LDIND_I = "ldind.i";
    String INST_LDIND_I1 = "ldind.i1";
    String INST_LDIND_I2 = "ldind.i2";
    String INST_LDIND_I4 = "ldind.i4";
    String INST_LDIND_I8 = "ldind.i8";
    String INST_LDIND_R4 = "ldind.r4";
    String INST_LDIND_R8 = "ldind.r8";
    String INST_LDIND_REF = "ldind.ref";
    String INST_LDIND_U1 = "ldind.u1";
    String INST_LDIND_U2 = "ldind.u2";
    String INST_LDIND_U4 = "ldind.u4";
    String INST_LDLEN = "ldlen";
    String INST_LDLOC = "ldloc";
    String INST_LDLOC_0 = "ldloc.0";
    String INST_LDLOC_1 = "ldloc.1";
    String INST_LDLOC_2 = "ldloc.2";
    String INST_LDLOC_3 = "ldloc.3";
    String INST_LDLOC_S = "ldloc.s";
    String INST_LDLOCA = "ldloca";
    String INST_LDLOCA_S = "ldloca.s";
    String INST_LDNULL = "ldnull";
    String INST_LDOBJ = "ldobj";
    String INST_LDSFLD = "ldsfld";
    String INST_LDSFLDA = "ldsflda";
    String INST_LDSTR = "ldstr";
    String INST_LDTOKEN = "ldtoken";
    String INST_LDVIRTFTN = "ldvirtftn";
    String INST_LEAVE = "leave";
    String INST_LEAVE_S = "leave.s";
    String INST_LOCALLOC = "localloc";
    String INST_MKREFANY = "mkrefany";
    String INST_MUL = "mul";
    String INST_MUL_OVF = "mul.ovf";
    String INST_MUL_OVF_UN = "mul.ovf.un";
    String INST_NEG = "neg";
    String INST_NEWARR = "newarr";
    String INST_NEWOBJ = "newobj";
    String INST_NOP = "nop";
    String INST_NOT = "not";
    String INST_OR = "or";
    String INST_POP = "pop";
    String INST_PREFIX1 = "prefix1";
    String INST_PREFIX2 = "prefix2";
    String INST_PREFIX3 = "prefix3";
    String INST_PREFIX4 = "prefix4";
    String INST_PREFIX5 = "prefix5";
    String INST_PREFIX6 = "prefix6";
    String INST_PREFIX7 = "prefix7";
    String INST_PREFIXREF = "prefixref";
    String INST_READONLY = "readonly";
    String INST_REFANYTYPE = "refanytype";
    String INST_REFANYVAL = "refanyval";
    String INST_REM = "rem";
    String INST_REM_UN = "rem.un";
    String INST_RET = "ret";
    String INST_RETHROW = "rethrow";
    String INST_SHL = "shl";
    String INST_SHR = "shr";
    String INST_SHR_UN = "shr.un";
    String INST_SIZEOF = "sizeof";
    String INST_STARG = "starg";
    String INST_STARG_S = "starg.s";
    String INST_STELEM = "stelem";
    String INST_STELEM_I = "stelem.i";
    String INST_STELEM_I1 = "stelem.i1";
    String INST_STELEM_I2 = "stelem.i2";
    String INST_STELEM_I4 = "stelem.i4";
    String INST_STELEM_I8 = "stelem.i8";
    String INST_STELEM_R4 = "stelem.r4";
    String INST_STELEM_R8 = "stelem.r8";
    String INST_STELEM_REF = "stelem.ref";
    String INST_STFLD = "stfld";
    String INST_STIND_I = "stind.i";
    String INST_STIND_I1 = "stind.i1";
    String INST_STIND_I2 = "stind.i2";
    String INST_STIND_I4 = "stind.i4";
    String INST_STIND_I8 = "stind.i8";
    String INST_STIND_R4 = "stind.r4";
    String INST_STIND_R8 = "stind.r8";
    String INST_STIND_REF = "stind.ref";
    String INST_STLOC = "stloc";
    String INST_STLOC_0 = "stloc.0";
    String INST_STLOC_1 = "stloc.1";
    String INST_STLOC_2 = "stloc.2";
    String INST_STLOC_3 = "stloc.3";
    String INST_STLOC_S = "stloc.s";
    String INST_STOBJ = "stobj";
    String INST_STSFLD = "stsfld";
    String INST_SUB = "sub";
    String INST_SUB_OVF = "sub.ovf";
    String INST_SUB_OVF_UN = "sub.ovf.un";
    String INST_SWITCH = "switch";
    String INST_TAILCALL = "tailcall";
    String INST_THROW = "throw";
    String INST_UNALIGNED = "unaligned";
    String INST_UNBOX = "unbox";
    String INST_UNBOX_ANY = "unbox.any";
    String INST_VOLATILE = "volatile";
    String INST_XOR = "xor";
    String STAT_CLASS = "class";
    String STAT_INSTANCE = "instance";
}
